package com.llsydn.a01youku;

import android.animation.ObjectAnimator;
import android.view.ViewGroup;

/**
 * @author lilinshen
 * @title 显示或隐藏指定的空间
 * @description 请填写相关描述
 * @date 2018/10/15 10:59
 */
public class Tools {
    /**
     * 显示控件
     *
     * @param view
     */
    public static void showView(ViewGroup view) {
        showView(view, 0);
    }

    /**
     * 显示控件，可以设置延迟播放时间
     *
     * @param view
     * @param startOffset
     */
    public static void showView(ViewGroup view, int startOffset) {
        //RotateAnimation ra = new RotateAnimation(180, 360, view.getWidth() / 2, view.getHeight());
        //ra.setDuration(1000);           //设置动画播放持续的时间
        //ra.setFillAfter(true);          //动画停留在播放完成的状态
        //ra.setStartOffset(startOffset); //延迟多久后播放动画
        //view.startAnimation(ra);
        ////设置可点击（需要使用ViewGroup才可以操作设置子view）
        //for (int i = 0; i < view.getChildCount(); i++) {
        //    View children = view.getChildAt(i);
        //    children.setEnabled(true);
        //}

        //利用属性动画，处理设置不可点击问题
        ObjectAnimator animator = ObjectAnimator.ofFloat(view, "rotation", 180, 360);
        animator.setDuration(1000);
        animator.setStartDelay(startOffset);
        animator.start();
        view.setPivotX(view.getWidth() / 2);
        view.setPivotY(view.getHeight());
    }

    /**
     * 隐藏控件
     *
     * @param view
     */
    public static void hideView(ViewGroup view) {
        hideView(view, 0);
    }

    /**
     * 隐藏控件，可以设置延迟播放时间
     *
     * @param view
     * @param startOffset
     */
    public static void hideView(ViewGroup view, int startOffset) {
        //RotateAnimation ra = new RotateAnimation(0, 180, view.getWidth() / 2, view.getHeight());
        //ra.setDuration(1000);           //设置动画播放持续的时间
        //ra.setFillAfter(true);          //动画停留在播放完成的状态
        //ra.setStartOffset(startOffset); //延迟多久后播放动画
        //view.startAnimation(ra);
        ////设置不可点击（需要使用ViewGroup才可以操作设置子view）
        //for (int i = 0; i < view.getChildCount(); i++) {
        //    View children = view.getChildAt(i);
        //    children.setEnabled(false);
        //}
        //利用属性动画，处理设置不可点击问题
        ObjectAnimator animator = ObjectAnimator.ofFloat(view, "rotation", 0, 180);
        animator.setDuration(1000);
        animator.setStartDelay(startOffset);
        animator.start();
        view.setPivotX(view.getWidth() / 2);
        view.setPivotY(view.getHeight());
    }
}
